草庐IT

Java Xpath 表达式

全部标签

php - Google 运算符的正则表达式

使用PHP,我试图通过支持类似Google的运算符来改进我网站上的搜索,例如关键字=自然/默认“关键字”或“搜索词组”=完全匹配关键字*=部分匹配为此,我需要将字符串拆分为两个数组。一个用于将确切的单词(但没有双引号)放入$Array1()并将其他所有内容(自然和部分关键字)放入Array2()。对于以下字符串,哪些正则表达式可以实现这一点?示例字符串($string)todayi'm"trying"outa*"googlesearch""test"想要的结果$Array1=array([0]=>trying[1]=>googlesearch[2]=>testing);$Array2=

php - 允许空格的正则表达式(对于电话号码正则表达式)

我有这个正则表达式:preg_match("#^([0-9]+)$#",$post['telephone'])谁只允许数字(对于法语类型的电话号码0123456789),但我想允许空格。例如允许这种类型的字符串:“0123456789”。你能帮帮我吗? 最佳答案 例如,如果您希望恰好有8位数字,但仍允许任意数量的空白字符,则以下内容非常好:^(?:\s*\d){8}$或者,如果你也想允许破折号:^(?:\s*-*\s*\d){8}$ 关于php-允许空格的正则表达式(对于电话号码正则表达

PHP、正则表达式和 preg_replace,需要一些帮助

我需要一些更换的帮助:Sometext[id]为了...Sometext|id我是正则表达式的新手,我只是不知道如何安全地将文本保存在[]中...而且我不想使用str_replace和trim...我必须使用表达式(不要问为什么:D)...有人可以帮助我吗? 最佳答案 这应该适用于非嵌套方括号:preg_replace("/\[(.*?)\]/","|$1","Sometext[id]")输出Sometext|id 关于PHP、正则表达式和preg_replace,需要一些帮助,我们在S

php - 正则表达式 : Converting non-block elements with <br/> to <p> in PHP

有人问了similarquestion,但接受的答案不符合我的要求。输入:boldtextlinksomecodeI'masinglebr,leavemealone.预期输出:boldtextlinksomecodeI'masinglebr,leavemealone.我上面提到的接受的答案将多个br转换为p,最后用另一个p包装所有输入。但就我而言,您不能将pre包装在p标签内。谁能帮忙?更新此编辑之前的预期输出有点令人困惑。重点是:将多个br转换为一个(使用preg_replace('/()+/','',$str);实现)检查内联元素和未包装的文本(在这种情况下没有父元素,输入来自$_

php - 用 PHP 正则表达式替换单词或单词组合

我有替换词的map:$map=array('word1'=>'replacement1','word2blah'=>'replacement2',//...);我需要替换字符串中的单词。但是只有当字符串是单词时才应该执行替换:它不在其他单词ex的中间。textword1不会被替换为replacement1,因为它是另一个标记的一部分。必须保存分隔符,但应替换分隔符之前/之后的单词。我可以使用正则表达式将字符串拆分为单词,但是当映射值的标记很少时(例如word2blah),这不起作用。 最佳答案 $map=array('foo'=>'

php - 正则表达式:一起删除非字母数字字符、多个空格和 trim()

我有一个$text来去除所有非字母数字字符,用单个空格替换多个空格和换行符,并消除开始和结束空格。到目前为止,这是我的解决方案。$text='some-text!!fortesting?';//$texttoformat//stripoffallnon-alphanumericchars$text=preg_replace("/[^a-zA-Z0-9\s]/","",$text);//Replacemultiplewhitespacesbysinglespace$text=preg_replace('/\s+/','',$text);//eliminatebeginningandend

php - 使用 PHP 正则表达式部分隐藏电子邮件地址?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:regexptopartlyhideemail?我目前正在编写一个隐藏电子邮件地址的脚本(因此test@domain.com变成t~~~@~~~~~~.com)。同时按照有关此问题的说明-regexptopartlyhideemail?-我设法让它显示t~~~@domain.com,但在删除“域”时遇到问题。这是我目前所拥有的(假设$row->email是“test@domain.com”):-$string=preg_replace("(?email);$string=preg_replace("(?然而,

php - 正则表达式计算不同排列的数量

所以这是对RegEx的一种不寻常的使用;我想计算将与特定模式匹配的不同字符串的数量(如果合适,则表示无限)。例如,让我们考虑[a-zA-Z]会产生52,[a-zA-Z]{1,2}会产生2652(52+52×52−52×2;对于像aa,MM这样不明显的字符串或[a-zA-Z]减去52×2+这将是∞。当然,我希望这种机制能够处理比这更复杂的正则表达式。我对PHP和Ruby的解决方案特别感兴趣。这可能吗? 最佳答案 正则表达式用于通过将给定字符串与给定模式进行比较来匹配给定字符串。任何给定的正则表达式都可以匹配大量字符串,正则表达式越长,

php - Symfony 路由正则表达式 : How to write an optional character?

我只是在路由配置中使用symfony正则表达式模式时遇到了一点麻烦。我想同时匹配/keyword和/keyword/URL。/字符是可选的。这是我的模式:pattern:/{keyword}/?/keyword/匹配模式,而/keyword不匹配。模式应该怎么写? 最佳答案 如果添加尾部斜杠,它是可选的——用户将从没有斜杠的路径重定向到有斜杠的路径。因此,/{keyword}/模式适用于/{keyword}和/{keyword}/。但是,如果您定义它时没有尾部斜线—/{keyword}—它仅适用于/{keyword}。

php - pcre正则表达式匹配前两个词,数字

我需要一个正则表达式来匹配字符串中的前两个单词(它们可能包含字母、数字、逗号和其他标点符号,但不包含空格、制表符或换行符)。我的解决方案是([^\s]+\s+){2}但如果它匹配类似这样的内容:'123word'*in'123word,hello'*,它不适用于只有两个单词且后面没有空格的字符串。这个任务的正确正则表达式是什么? 最佳答案 你几乎是对的:([^\s]+\s+[^\s]+)假设您不需要对要使用的字符进行更强的控制。如果您需要同时匹配两个词或只匹配一个词,您可以使用其中之一:([^\s]+\s+[^\s]+|[^\s]+